package co.edu.udea.iw.prestamos.modelo.dto;

import java.util.HashSet;
import java.util.Set;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

import com.sun.istack.internal.NotNull;

/**
 * POJO. Encapsula la entidad Dispositivo
 * @author Dave Rivera <daverivera90@gmail.com>
 * @version 1.0
 * @since 01-07-2012
 */
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class Dispositivo  implements java.io.Serializable {

	@XmlElement
	@NotNull
    private Integer id;

	@XmlElement
	@NotNull
    private TipoDispositivo tipoDispositivo;

	@XmlElement
	@NotNull
    private String marca;

	@XmlElement
	@NotNull
    private String modelo;
	
	@XmlElement
    private String descripcion;
    
	@XmlElement
	@NotNull
    private boolean disponible;
	
	@XmlTransient
    private Set<Prestamo> prestamos = new HashSet<Prestamo>(0);

    public Dispositivo() {
    }

	
    public Dispositivo(TipoDispositivo tipoDispositivo, String marca, String modelo, boolean disponible) {
        this.tipoDispositivo = tipoDispositivo;
        this.marca = marca;
        this.modelo = modelo;
        this.disponible = disponible;
    }
    public Dispositivo(TipoDispositivo tipoDispositivo, String marca, String modelo, String descripcion, boolean disponible, Set<Prestamo> prestamos) {
       this.tipoDispositivo = tipoDispositivo;
       this.marca = marca;
       this.modelo = modelo;
       this.descripcion = descripcion;
       this.disponible = disponible;
       this.prestamos = prestamos;
    }
   
    public Integer getId() {
        return this.id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
    public TipoDispositivo getTipoDispositivo() {
        return this.tipoDispositivo;
    }
    
    public void setTipoDispositivo(TipoDispositivo tipoDispositivo) {
        this.tipoDispositivo = tipoDispositivo;
    }
    public String getMarca() {
        return this.marca;
    }
    
    public void setMarca(String marca) {
        this.marca = marca;
    }
    public String getModelo() {
        return this.modelo;
    }
    
    public void setModelo(String modelo) {
        this.modelo = modelo;
    }
    public String getDescripcion() {
        return this.descripcion;
    }
    
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }
    public boolean isDisponible() {
        return this.disponible;
    }
    
    public void setDisponible(boolean disponible) {
        this.disponible = disponible;
    }
    public Set<Prestamo> getPrestamos() {
        return this.prestamos;
    }
    
    public void setPrestamos(Set<Prestamo> prestamos) {
        this.prestamos = prestamos;
    }




}


